connection.
config XEN_TPMDEV_BACKEND
- bool "TPM-device backend driver"
+ tristate "TPM-device backend driver"
default n
help
The TPM-device backend driver
space. Odds are that you want to say N here.
config XEN_TPMDEV_FRONTEND
- bool "TPM-device frontend driver"
+ tristate "TPM-device frontend driver"
default n
select TCG_TPM
select TCG_XEN
void tpmif_disconnect_complete(tpmif_t * tpmif);
tpmif_t *tpmif_find(domid_t domid, long int instance);
void tpmif_interface_init(void);
+void tpmif_interface_exit(void);
void tpmif_schedule_work(tpmif_t * tpmif);
void tpmif_deschedule_work(tpmif_t * tpmif);
void tpmif_xenbus_init(void);
+void tpmif_xenbus_exit(void);
int tpmif_map(tpmif_t *tpmif, unsigned long shared_page, unsigned int evtchn);
irqreturn_t tpmif_be_int(int irq, void *dev_id, struct pt_regs *regs);
int tpmif_vtpm_open(tpmif_t *tpmif, domid_t domain, u32 instance);
0, 0, NULL, NULL);
}
+void __init
+tpmif_interface_exit(void)
+{
+ kmem_cache_destroy(tpmif_cachep);
+}
+
/*
* Local variables:
* c-file-style: "linux"
return 0;
}
-__initcall(tpmback_init);
+module_init(tpmback_init);
+
+static void __exit
+tpmback_exit(void)
+{
+
+ tpmif_xenbus_exit();
+ tpmif_interface_exit();
+ misc_deregister(&ibmvtpms_miscdevice);
+}
+
+module_exit(tpmback_exit);
+
+MODULE_LICENSE("Dual BSD/GPL");
/*
* Local variables:
xenbus_register_backend(&tpmback);
}
+void tpmif_xenbus_exit(void)
+{
+ xenbus_unregister_driver(&tpmback);
+}
+
/*
* Local variables:
* c-file-style: "linux"
xenbus_register_frontend(&tpmfront);
}
+static void __exit exit_tpm_xenbus(void)
+{
+ xenbus_unregister_driver(&tpmfront);
+}
+
static int
tpm_allocate_buffers(struct tpm_private *tp)
return 0;
}
-__initcall(tpmif_init);
+module_init(tpmif_init);
+
+static void __exit
+tpmif_exit(void)
+{
+ exit_tpm_xenbus();
+ gnttab_free_grant_references(gref_head);
+}
+
+module_exit(tpmif_exit);
+
+MODULE_LICENSE("Dual BSD/GPL");
/*
* Local variables: